package com.payment.system.mapper;

import com.payment.common.annotation.DataSource;
import com.payment.common.enums.DataSourceType;
import com.payment.system.domain.AppVersion;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * app版本 数据层
 * 
 * @author payment
 * @date 2019-01-14
 */
public interface AppVersionMapper 
{
	/**
     * 查询app版本信息
     * 
     * @param id app版本ID
     * @return app版本信息
     */
	@DataSource(DataSourceType.SLAVE)
	public AppVersion selectAppVersionById(String id);
	
	/**
     * 查询app版本列表
     * 
     * @param appVersion app版本信息
     * @return app版本集合
     */
	@DataSource(DataSourceType.SLAVE)
	public List<AppVersion> selectAppVersionList(AppVersion appVersion);
	
	/**
     * 新增app版本
     * 
     * @param appVersion app版本信息
     * @return 结果
     */
	public int insertAppVersion(AppVersion appVersion);
	
	/**
     * 修改app版本
     * 
     * @param appVersion app版本信息
     * @return 结果
     */
	public int updateAppVersion(AppVersion appVersion);
	
	/**
     * 删除app版本
     * 
     * @param id app版本ID
     * @return 结果
     */
	public int deleteAppVersionById(String id);
	
	/**
     * 批量删除app版本
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteAppVersionByIds(String[] ids);

	//修改启用 禁用状态
    int updateStatusById(@Param("id") String id, @Param("status") String status);

    //获取版本号 系统类型，版本号
	@DataSource(DataSourceType.SLAVE)
    AppVersion selectAppVersionByVersionNo(@Param("versionNo") String versionNo,@Param("systemType") String systemType);

	//获取最新版本号
	@DataSource(DataSourceType.SLAVE)
	AppVersion selectAppVersionByNow(@Param("systemType") String systemType);
}